using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PostSharp.Extensibility;

namespace PropFu
{
    [Serializable]
    [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true)]
    [MulticastAttributeUsage(MulticastTargets.Method, PersistMetaData = true)]
    public class OnPropertyChangedAttribute : MulticastAttribute, IRequirePostSharp
    {
        PostSharpRequirements IRequirePostSharp.GetPostSharpRequirements()
        {
            PostSharpRequirements requirements = new PostSharpRequirements();
            requirements.PlugIns.Add("PropFu");
            requirements.Tasks.Add("PropFu");
            return requirements;
        }
    }
}
